Network aware data driven internet of things service engine

ABSTRACT

A network aware data driven Internet of things (IoT) service engine is presented herein. A method can comprise receiving a policy rule from a network device of respective network devices—the policy rule corresponding to a sensor of a group of sensors that have been configured to transmit information of respective services to the respective network devices using an Internet protocol, and the policy rule defining an action to be performed by the system in response to a behavior of the sensor being determined to satisfy a defined condition specified by the policy rule with respect to a service of the respective services; based on the policy rule, monitoring the behavior of the sensor; and in response to determining that the behavior of the sensor satisfies the defined condition, performing the action on behalf of the network device.

RELATED APPLICATION

The subject patent application is a continuation of, and claims priorityto, U.S. patent application Ser. No. 15/486,711, filed Apr. 13, 2017,and entitled “A NETWORK AWARE DATA DRIVEN INTERNET OF THINGS SERVICEENGINE,” the entirety of which application is hereby incorporated byreference herein.

TECHNICAL FIELD

The subject disclosure generally relates to embodiments for a networkaware data driven Internet of things (IoT) service engine.

BACKGROUND

With an exponential growth of Internet of things (IoT) andMachine-to-Machine (M2M) devices, real-time management of relatedresources has become difficult and complex. Consequently, conventionalnetwork technologies have had some drawbacks, some of which may be notedwith reference to the various embodiments described herein below.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting embodiments of the subject disclosure are described withreference to the following figures, wherein like reference numeralsrefer to like parts throughout the various views unless otherwisespecified:

FIG. 1 illustrates a block diagram of a network aware data driven IoTcommunication environment, in accordance with various exampleembodiments;

FIG. 2 illustrates a block diagram of disparate sets of distributedsensors within a network aware data driven IoT communicationenvironment, in accordance with various example embodiments;

FIG. 3 illustrates a block diagram of an analytics component of an IoTservice engine, in accordance with various example embodiments;

FIG. 4 illustrates a block diagram of a control component of an IoTservice engine, in accordance with various example embodiments;

FIG. 5 illustrates a block diagram of application servers within anetwork aware data driven IoT communication environment, in accordancewith various example embodiments;

FIG. 6 illustrates a block diagram of an interface component of an IoTservice engine, in accordance with various example embodiments;

FIGS. 7-9 illustrate flowcharts of methods associated with a networkaware data driven IoT communication environment, in accordance withvarious example embodiments;

FIG. 10 illustrates a block diagram of a wireless network environment,in accordance various example embodiments; and

FIG. 11 is a block diagram representing an illustrative non-limitingcomputing system or operating environment in which one or more aspectsof various embodiments described herein can be implemented.

DETAILED DESCRIPTION

Aspects of the subject disclosure will now be described more fullyhereinafter with reference to the accompanying drawings in which exampleembodiments are shown. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the various embodiments. However, thesubject disclosure may be embodied in many different forms and shouldnot be construed as limited to the example embodiments set forth herein.

Conventional network technologies have had some drawbacks with respectto real-time management of resources within an IoT infrastructure.Various embodiments disclosed herein can improve customer experienceswithin an IoT ecosystem by performing real-time monitoring of networkbehavior of IoT devices, sensors, etc. and enforcing defined policiesbased on such behavior.

For example, a method can comprise receiving, by a system comprising aprocessor, e.g., an IoT service engine, a policy rule from a networkdevice, e.g., an application server, of respective network devices. Inthis regard, the policy rule corresponds to a device, e.g., an IoTdevice, an M2M device, a sensor, a meter, etc. of a group of devices,IoT devices, sensors, etc. that have been configured to transmitinformation of respective services, e.g., a utility (e.g., water, gas,electric, etc.) service, a home automation service, a security service,a maintenance service, a fitness service, etc. to the respective networkdevices using an Internet protocol. Further, the policy rule defines anaction to be performed by the IoT service engine in response to abehavior of the IoT device, sensor, etc. being determined, i.e., by theIoT service engine, to satisfy a defined condition specified by thepolicy rule with respect to a service of the respective services.

The method can further comprise monitoring, by the IoT service enginebased on the policy rule, the behavior of the IoT device, sensor, etc.;and in response to determining that the behavior of the IoT device,sensor, etc. satisfies the defined condition, e.g., in response todetermining that the IoT device, sensor, etc. is operating outside of adefined range of a default behavior with respect to the service,performing, by the IoT service engine, the action, e.g., on behalf ofthe network device, the service, etc.

In this regard, in one embodiment, the default behavior represents adefined frequency for the IoT device, sensor, etc. to transmit dataperiodically. In another embodiment, the default behavior represents adefined amount of the data to be transmitted by the IoT device, sensor,etc. during a transmission, period of time, etc.

In embodiment(s), the performing of the action comprises sending anotification message directed to the network device representing thebehavior of the IoT device, sensor, etc. satisfies the definedcondition. In other embodiment(s), the performing of the actioncomprises sending a control message directed to the IoT device, sensor,etc. to facilitate a change in operation of the IoT device, sensor,etc., e.g., disabling, suspending, powering down, etc. the IoT device,sensor, etc.

Another embodiment can comprise generating, by the IoT service engine,operational information representing the behavior; and based on theoperational information, determining, by the IoT service engine, anexpected behavior of the IoT device, sensor, etc. In this regard, in yetanother embodiment, the defined condition represents a determinationthat the IoT device, sensor, etc. is operating outside of the expectedbehavior of the IoT device, sensor, etc.

In one embodiment, a system, e.g., an IoT service engine, can comprise aprocessor and a memory that stores executable instructions that, whenexecuted by the processor, facilitate performance of operations,comprising: determining a behavior of an IoT device, sensor, etc. of agroup of, e.g., IoT, M2M, etc. devices that have been configured tosend, utilizing Internet protocol based communications, information torespective network devices, e.g., respective application servers—the IoTdevice, sensor, etc. configured to facilitate a performance of aservice, e.g., utility, security, home automation, industrial, etc.corresponding to an application server of the respective applicationservers; and in response to determining that the behavior satisfies adefined condition that has been defined by a policy rule that alsodefines an action to be performed by the system upon a determinationthat the defined condition has been satisfied, performing the action.

In an embodiment, the operations can further comprise determining adefined behavior of the IoT device, sensor, etc. representing an averageoperating condition of the IoT device, sensor, etc. with respect to theservice—the defined condition representing a determination that thebehavior is different from the average operating condition. In anotherembodiment, the determining that the behavior satisfies the definedcondition comprises determining that the IoT device, sensor, etc. isoperating outside of a defined range of the average operating condition,e.g., the average operating condition comprising a defined period oftime between data transmissions of the IoT device, sensor, etc., adefined frequency of data transmissions of the IoT device, sensor, etc.,a defined amount of data to be included in a data transmission of theIoT device, sensor, etc., etc.

In embodiment(s), the performing action comprises initiating a change inoperation, e.g., a power state, etc. of the IoT device, sensor, etc. Inother embodiment(s), the performing the action comprises sending amessage directed to the application server, e.g., notifying theapplication server that the action has been performed, notifying theapplication server that the IoT device, sensor, etc. is operatingoutside of the defined range of average operating condition, etc.

In one embodiment, a machine-readable storage medium can compriseexecutable instructions that, when executed by a processor of a device,e.g., an IoT service engine, facilitate performance of operations,comprising: based on a policy rule representing a defined condition of abehavior of an IoT device, sensor, etc. and representing a definedaction to be performed according to the defined condition, monitoring anoperation of the IoT device, sensor, etc.—the IoT device, sensor, etc.configured to transmit, utilizing an Internet protocol, information of aservice to a network device, e.g., an application server; and inresponse to determining that the operation of the IoT device, sensor,etc. satisfies the defined condition, performing the defined action.

In another embodiment, the defined condition defines a maximumtransmission amount of data that the IoT device, sensor, etc. has beenconfigured to transmit during a transmission, and the determiningcomprises disabling the IoT device, sensor, etc. in response todetermining that the IoT device, sensor, etc. has transmitted, duringthe transmission, an amount of data that is greater than the maximumtransmission amount.

In yet another embodiment, the defined condition defines a maximumfrequency of data transmissions of the IoT device, sensor, etc., and thedetermining comprises: in response to determining that the IoT device,sensor, etc. has transmitted data at a frequency that is greater thanthe maximum frequency, sending a message directed to the network devicerepresenting the IoT device, sensor, etc. has transmitted data at thefrequency that is greater than the maximum frequency.

Reference throughout this specification to “one embodiment,” “anembodiment,” etc. means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment. Thus, the appearances of the phrase “in oneembodiment,” “in an embodiment,” etc. in various places throughout thisspecification are not necessarily all referring to the same embodiment.Furthermore, the particular features, structures, or characteristics maybe combined in any suitable manner in one or more embodiments.

As mentioned above, connection oriented network technologies have hadsome drawbacks with respect to managing resources within a diverse,rapidly growing IoT ecosystem. Various embodiments disclosed herein canimprove customer experiences by utilizing an IoT service engine tomonitor network behavior of an IoT device, and enforce one or moredefined policies corresponding to the IoT device based on such behavior.

In this regard, and now referring to FIGS. 1 and 2, block diagrams of anetwork aware data driven IoT communication environment (100), anddisparate sets of distributed IoT devices, sensors, etc. within suchcommunication environment (200) are illustrated, in accordance withvarious example embodiments. In embodiment(s), IoT service engine 110can be coupled to an IoT device, sensor, etc. (not shown) of disparatesets of distributed IoT devices 120 utilizing a wireless interfaceand/or a wired interface. The IoT device, sensor, etc. can comprise,e.g., a sensor, a meter, a utility (e.g., water, gas, electricity, etc.)meter, a radio frequency identification (RFID) device, amachine-to-machine (M2M) based device, a wireless and/or wired device,an appliance sensor, a security sensor, a motion sensor, a camera, ahealth monitor device, a fitness tracking device, a smartwatch, a homesecurity system device, a thermostat, a smartphone, a laptop device, atablet device, a television device, a vehicle device, a gaming consoledevice, a user equipment (UE), a power and/or energy control device, anindustrial control and/or monitoring device, etc.

As illustrated by FIG. 2, disparate sets of distributed IoT devices 120can comprise IoT, sensor, etc. devices of respective networks comprisingshort range wireless network 201 (e.g., comprising Wi-Fi device 202,Wibree device 204, Zigbee device 206, and Bluetooth device 208); lowpower wide area network (LPWAN) 211 (e.g., comprising Sigfox device 212,e.g., based on ultra-narrow band (UNB) technology (e.g., utilizingunlicensed industrial, scientific, and medical (ISM) radio frequencyband(s)), LoRa device 213 (e.g., utilizing chirp spread spectrum (CSS)),NarrowBand IoT (NB-IoT) device 214, long term evolution LTE Category M1(LTE CAT-M) device 215, extended coverage global system for mobilecommunication IoT (EC-GSM-IoT) device 216, and fifth generation (5G)evolution of radio access technology device 217); wide area network(WAN) 221 (e.g., comprising satellite based device 222, third generationpartnership project (3GPP) and/or LTE device 224, and 5G evolution ofradio access technology device 226); and wired network 231 (e.g.,comprising wired device 232 and wireless/wired device 234).

In one embodiment, the IoT device, sensor, etc. can be a uniquelyidentifiable embedded computing device, e.g., assigned a unique IPaddress, and exchange information and/or perform actions (e.g., remotemonitoring, remote control, etc.) using information, networkcommunications, data, etc. transferred, via IoT service engine 110,between the IoT device, sensor, etc. and respective applications ofapplication servers 130.

In this regard, IoT service engine 110 can be coupled to the IoT device,sensor, etc. via the wireless and/or wired interface using an adapter(not shown) of device communication adapters 240 configured totransmit/receive information to/from the IoT device, sensor, etc. usingrespective wireless and/or wired technologies. In one embodiment, theadapter can be configured to translate, convert, etc. informationreceived from the IoT device, sensor, etc. via the wireless and/or wiredtechnologies into an Internet protocol (IP) based data packet. Further,the adapter can be configured to translate an IP based communicationdirected to the IoT device, sensor, etc. into an appropriate wirelessand/or wired technology that is compatible with the wireless and/orwired interface coupling the IoT device, sensor, etc. to IoT serviceengine 110.

In embodiment(s), the wireless interface can comprise an over-the-airwireless link comprising a downlink (DL) and an uplink (UL) (both notshown) that can utilize a predetermined band of radio frequency (RF)spectrum associated with, e.g., cellular, LTE, LTE advanced (LTE-A),GSM, 3GPP universal mobile telecommunication system (UMTS), Institute ofElectrical and Electronics Engineers (IEEE) 802.XX technology (WiFi,Bluetooth, etc.), worldwide interoperability for microwave access(WiMax), a wireless local area network (WLAN), Femto, near fieldcommunication (NFC), Wibree, Zigbee, satellite, WiFi Direct, etc.Accordingly, the IoT device, sensor, etc. can be associated with suchpredetermined radio frequency (RF) spectrum.

In this regard, the adapter can transmit/receive, via the wirelessinterface, information to/from the IoT device, sensor, etc. utilizingone or more: macro, Femto, or pico access points (APs) (not shown); basestations (BS) (not shown); landline networks (e.g., optical landlinenetworks, electrical landline networks) (not shown) communicativelycoupled between IoT service engine 110 and the IoT device, sensor, etc.In various embodiments, IoT service engine 110 can communicate with theIoT device, sensor, etc. via any number of various types of wirelesstechnologies including, but not limited to, cellular, WiFi, WiMax, WLAN,Femto, NFC, Wibree, Zigbee, satellite, WiFi Direct, etc.

In other embodiment(s), the adapter can transmit/receive, via the wiredinterface, information to/from the IoT device, sensor, etc. utilizingone or more of the Internet (or another communication network (e.g., anInternet protocol (IP) based network)), or a digital subscriber line(DSL)-type or broadband network facilitated by Ethernet or othertechnology. In this regard, the network aware data driven IoTcommunication environment can comprise a cloud-based, centralized,communication platform, Internet platform, WAN, etc. (see, e.g., 1090below), and component(s), portion(s), etc. of IoT service engine 110,e.g., device communication adapters 240, etc. can be implemented withinthe cloud-based, centralized, communication platform.

In embodiment(s), one or more adapters (not shown) of devicecommunication adapters 240 can comprise a hub, wired hub, wireless hub,etc. that can be installed in a location, e.g., home, business, etc.remote from the cloud-based communication platform, etc., and suchadapters can send/receive information to/from IoT service engine 110 viathe Internet.

Referring now to FIG. 1, IoT service engine 110 can comprise policycomponent 112, analytics component 114, and control component 116.Policy component 112 can receive, via application servers 130, policyrules defining actions to be performed in response to respectiveconditions, device conditions, etc. being determined to have been met.In this regard, application servers 130 can be associated with services,e.g., a home automation service, a utility service, a security service,a maintenance service, a fitness service, etc.; and IoT service engine110 can perform, based on the policy rules, centralized monitoring,control, access, etc. of respective IoT devices of disparate sets ofdistributed IoT devices 120 corresponding to the services.

In an embodiment, policy component 112 can receive, e.g., via interfacecomponent 430 (see below), a policy rule from an application server (notshown) of application servers 130 corresponding to a service of theservices. In turn, policy component 112 can store the policy rule in adata store, storage component, etc. (e.g., 410) of IoT service engine110.

In one embodiment, the policy rule can define a behavior, defaultbehavior, expected behavior, etc. of an IoT device, sensor, etc.corresponding to the service, and further define an action for IoTservice engine 110 to perform in response to IoT service enginedetermining that the IoT device, sensor, etc. has been operatingdifferently from the behavior, default behavior, etc. that has beendefined by the policy rule, e.g., that the IoT device, sensor, etc. hasbeen behaving in an anomalous way. For example, the action can comprisea request for IoT service engine 110 to send a notification, message,etc. directed to the application server in response to a determinationthat the IoT device, sensor, etc. has been operating in the anomalousway. In another example, the action can comprise a request for IoTservice engine 110 to control, alter an operation of, etc. the IoTdevice, sensor, etc. in response to the determination that the IoTdevice, sensor, etc. has been operating in the anomalous way, e.g., therequest comprising a request that IoT service engine 110 disable the IoTdevice, sensor, etc., initiate a power down of the IoT device, sensor,etc., etc. in response to the determination that the IoT device, sensor,etc. has been operating in the anomalous way.

In this regard, and now referring to FIG. 3, analytics component 114 cancomprise device profile component 310 and monitor component 320. Deviceprofile component 310 can store, e.g., via a data store (e.g., storagecomponent 410 (see below)), device configuration information, e.g.,representing a type of the IoT device, sensor, etc., configurationparameters of the IoT device, sensor, etc., an IP address of the IoTdevice, sensor, etc., etc. Further device profile component 310 canstore, via the data store, operational information, e.g., representingtypical, average, expected, etc. operational characteristic(s),behavior(s), etc. of the IoT device, sensor, etc. during the service,e.g., representing a typical, average, expected, etc. period of timebetween transmissions of the service; representing a frequency, time,etc. of the transmissions; representing a typical, average, expected,etc. amount of data to be transmitted, received, etc. from the IoTdevice, sensor, etc., e.g., during the transmissions, etc.

In other embodiment(s), the operational information can represent adefined range of values, e.g., comprising an upper and lower limit, forthe operational characteristic(s), behavior(s), etc. of the IoT device,sensor, etc. during the service, e.g., representing a range of expectedperiods of time between transmissions of the service; representingfrequencies, times, etc. of the transmissions; representing a range ofexpected amounts of data to be transmitted, received, etc. from the IoTdevice, sensor, etc. during the transmissions, etc.

In one embodiment, the operational information can represent typical,average, expected, etc. operational characteristic(s), behavior(s) of agroup IoT devices, sensors, etc. corresponding to the service, e.g.,corresponding to a communication service provider, a home securityservice, a utility, etc. For example, in an embodiment, the operationalinformation can represent a typical, average, expected, etc. number ofIoT devices, sensors, etc. of the group of IoT devices, sensors, etc. tobe active, e.g., transmitting information, during a period of time, etc.

In another embodiment, device profile component 310 can receive, e.g.,via interface component 410 (see below), the device configurationinformation and/or the operational information from the applicationserver. In turn, device profile component 310 can store the deviceconfiguration information and the operational information in the datastore.

In yet another embodiment, device profile component 310 can derive,create, generate, etc. the operational information based on information,data, etc. observed, monitored, etc. via monitor component 320. In thisregard, as described above, IoT service engine 110 facilitates atransfer of information, data, etc. from disparate sets of distributedIoT devices 120 to respective applications of application servers 130,e.g., utilizing respective IP addresses of such devices. In turn,monitor component 320 can observe, monitor, etc., e.g., in real-time,near real-time, a behavior of the IoT device, sensor, etc., e.g.,comprising information, data, etc. transmitted by the IoT device,sensor, etc./received by IoT service engine 110.

In embodiment(s), the information, data, etc. can represent a type of acommunication received from the IoT device, sensor, etc.; an amount ofdata being transmitted by/received from the IoT device, sensor, etc.; atime, a period of time, a frequency, etc. of the communication, relatedcommunications, etc.

In embodiment(s), analytics component 114 can determine whether thebehavior of the IoT device, sensor, etc., e.g., the information, data,etc., satisfies a set of defined policy rules and/or conditionsrepresented by the set of defined policy rules. In anotherembodiment(s), analytics component 114 can determine whether thebehavior of the IoT device, sensor, etc., e.g., the information, data,etc. satisfies one, or a set of, defined operational informationcondition(s) represented by the operational information, e.g., whetherthe behavior of the IoT device, sensor, etc. is different from anexpected, default, etc. behavior represented by the operationalinformation.

In turn, in response to a determination that the behavior of the IoTdevice, sensor, etc., e.g., the information, data, etc. satisfies theset of defined policy rules, conditions represented by the set ofdefined policy rules, and/or the one, or the set of, defined operationalinformation condition(s), analytics component 114 can initiate, perform,etc., via control component 116, action(s), e.g., defined by the set ofdefined policy rules and/or conditions represented by the set of definedpolicy rules, e.g., requesting further information from the IoT device,sensor, etc.; controlling, modifying, etc. an operation of the IoTdevice, sensor, etc., sending a message, notification, etc. to acorresponding application, service, etc. associated with the applicationservers 130, etc. In this regard, in embodiment(s), control component116 can enforce a policy rule, or a condition represented by the policyrule, by initiating, performing, etc. the action(s) in a real-time, nearreal-time manner on behalf of respective applications, services, etc.,e.g., facilitating optimized monitoring, control, management, of IoTdevices within an IoT ecosystem.

For example, in an embodiment, a policy rule can define that IoT serviceengine 110 shut down, power down, disable a group of a defined number ofdistributed IoT devices (e.g., power meters) that have been configuredto periodically, e.g., once per month, “wake-up” from a lowpower/suspended state to report data (e.g., electricity consumption) ifIoT service engine 110 has detected a condition representing that thegroup of the defined number of distributed IoT devices woke up, reporteddata, etc. in a defined anomalous way, e.g., at the same time, a similartime, on the same day, etc.

In one embodiment, the policy rule can define that IoT service engine110 shut down, power down, disable, etc. an IoT device, sensor, etc.that has been configured to periodically transmit less than 10 kilobytes(kB) of data if IoT service engine 110 had detected a conditionrepresenting that the IoT device, sensor, etc. has transmitted a definedanomalously large amount of data, e.g., greater than ten times anexpected amount of data, e.g., 50 kB, 100 kB, 1 megabyte (MB), etc.

In another embodiment, the policy rule can define that after IoT serviceengine 110 has performed an action, IoT service engine 110 send amessage, notification, etc.—representing that the action has beenperformed—to a corresponding application, service, etc.

In yet another embodiment, the policy rule can define that IoT serviceengine 110 obtain, query, etc. status information from the IoT device,sensor, etc. in response to a determination that the behavior,information, data, etc. satisfies the defined condition represented bythe policy rule, e.g., that data has been corrupted, etc

In an embodiment, the policy rule can define that IoT service engine 110send a message, notification, etc. to a corresponding application,service, etc.—the message representing that an associated IoT device,sensor, etc. has not sent, transmitted, etc. information, data, etc. toIoT service engine 110 according to a defined frequency, interval oftime, etc.

In an embodiment, the policy rule can define that IoT service engine 110send a message, notification, etc. representing that IoT service engine110 has determined that the behavior, information, data, etc. satisfiesthe defined condition represented by the policy rule. In turn, IoTservice engine 110 can anticipate receiving, e.g., via interfacecomponent 430, an instruction, request, etc. from the correspondingapplication, service, etc., e.g., defining an action to be performed onthe IoT device, sensor, etc.

In this regard, control component 116 can store at least portion(s) ofthe information, data, etc. in storage component 410, e.g., tofacilitate retrieval of the portion(s) by the corresponding application,service, etc. after the corresponding application, service, etc.receives the message, notification, etc. from IoT service engine 110.

In one embodiment, control component 116 can determine, e.g.,periodically, whether the portion(s) have been retrieved by thecorresponding application, service, etc. In turn, in response todetermining that the information, data, etc. has not been retrieved,accessed, etc., control component 116 can send, via interface component430, a message to the corresponding application, service, etc.indicating that the portion(s) have not been retrieved, accessed, etc.

In embodiment(s), data normalization component 420 can normalize,convert, transform, etc. data received from the IoT device, sensor, etc.with respect to units of measurement defined by the policy rule. Forexample, data normalization component 420 can normalize, convert,transform, etc. data received from monitoring IoT devices, sensors, etc.into common units as defined by the policy rule, e.g., converttemperature data from Celsius to Fahrenheit/Fahrenheit to Celsius,convert data from Metric units to Imperial units/Imperial units toMetric units, etc.

Now referring to FIGS. 5-6, respective applications, services, etc. ofapplication servers 130 (502, 504, 506, 508) can send/receive datato/from disparate sets of distributed IoT devices 120 using payloadapplication programming interface (API) 602, notification API 604,service capability server (SCS) interface 606, and/or representationalstate transfer (REST/RESTful) interface 608.

In this regard, in one embodiment, the respective applications,services, etc. can receive information, data, etc. from respective IoTdevices, sensors, etc. of disparate sets of distributed IoT devices 120utilizing payload API 602. In another embodiment, the respectiveapplications, services, etc. can receive notifications from IoT serviceengine 110 using notification API 604. In yet another embodiment, therespective applications, services, etc. can send/receive text messagescomprising information, data, etc. to/from the respective IoT devices,sensors, etc. utilizing SCS interface 606. In an embodiment, therespective applications, services, etc. can send/receive hypertextmarkup language (HTML) based messages comprising information, data, etc.to/from the respective IoT devices, sensors, etc. utilizing REST/RESTfulinterface 608.

FIGS. 7-9 illustrate methodologies in accordance with the disclosedsubject matter. For simplicity of explanation, the methodologies aredepicted and described as a series of acts, e.g., governed by policies,conditions represented by the policies, etc. It is to be understood andappreciated that various embodiments disclosed herein are not limited bythe acts illustrated and/or by the order of acts. For example, acts canoccur in various orders and/or concurrently, and with other acts notpresented or described herein. Furthermore, not all illustrated acts maybe required to implement the methodologies in accordance with thedisclosed subject matter. In addition, those skilled in the art willunderstand and appreciate that the methodologies could alternatively berepresented as a series of interrelated states via a state diagram orevents. Additionally, it should be further appreciated that themethodologies disclosed hereinafter and throughout this specificationare capable of being stored on an article of manufacture to facilitatetransporting and transferring such methodologies to computers. The termarticle of manufacture, as used herein, is intended to encompass acomputer program accessible from any computer-readable device, carrier,or media.

Referring now to FIG. 7, process 700 performed by IoT service engine 110is illustrated, in accordance with various example embodiments. At 710,IoT service engine 110 can receive, e.g., via interface component 430, apolicy rule from an application server (e.g., 502, 504, 506, 508, etc.)of respective application servers (130). In this regard, the policy rulecorresponds to an IoT device, sensor, etc. of a group of IoT devices,sensors, etc. (e.g., 120) that have been configured to transmitinformation, data, etc. of respective services to the respectiveapplication servers using an IP, an IP based communication, etc.Further, the policy rule can define an action to be performed by IoTservice engine 110, e.g., reconfigure the IoT device, sensor, etc.,disable the IoT device, sensor, etc., notify a corresponding applicationserver, etc. in response to a behavior of the IoT device, sensor, etc.being determined to satisfy a defined condition specified by the policyrule with respect to a service of the respective services, e.g., thedefined condition specifying that the IoT device, sensor, etc. isoperating outside of defined operating limits corresponding to theservice.

At 720, IoT service engine 110 can monitor the behavior of the IoTdevice, sensor, etc., and at 730, IoT service engine 110 can perform theaction in response to determining that the behavior of the IoT device,sensor, etc. satisfies the defined condition, e.g., that the IoT device,sensor, etc. is operating outside of the defined operating limitscorresponding to the service.

Referring now to FIGS. 8-9, processes 800 to 900 performed by IoTservice engine 110 are illustrated, in accordance with various exampleembodiments. At 810, IoT service engine 110 can monitor the behavior ofthe IoT device, sensor, etc. At 820, IoT service engine 110 can generateoperational information representing the behavior. At 830, IoT serviceengine 110 can determine, based on the operational information, anexpected behavior of the IoT device, sensor, etc., e.g., an expectedrange of an amount of data to be transmitted by the IoT device, sensor,etc. during the service, an expected range of a period of time that theIoT device, sensor, etc. transmits data, e.g., once per month, etc.

Flow continues from 830 to 910, at which IoT service engine 110 candetermine whether the behavior of the IoT device, sensor, etc. satisfiesa defined condition of a policy rule with respect to deviating from theexpected behavior. In this regard, if IoT service engine 110 determinesthat the behavior of the IoT device, sensor, etc. satisfies the definedcondition with respect to deviating from the expected behavior, flowcontinues to 920, at which IoT service engine 110 can transmit, send,etc. a control message, command, etc. directed to the IoT device,sensor, etc. to facilitate a change in operation of the IoT device,sensor, etc., e.g., to power down the IoT device, sensor, etc., change aconfiguration of the IoT device, sensor, etc., disable the IoT device,sensor, etc.; otherwise flow returns to 910.

At 930, IoT service engine 110 can send a notification message directedto an application server corresponding to the IoT device, sensor, etc.indicating that the behavior of the IoT device, sensor, etc. hasdeviated from the expected behavior, and that the control message wastransmitted to the IoT device, sensor, etc.

With respect to FIG. 10, a wireless communication environment 1000including macro network platform 1010 is illustrated, in accordance withvarious embodiments. Macro network platform 1010 serves or facilitatescommunication with an IoT device, sensor, wireless device, e.g., UE1002, wired device, disparate sets of distributed IoT devices 120,application servers 130, etc. via radio network 1090. It should beappreciated that in cellular wireless technologies, e.g., 3GPP UMTS,high speed packet access (HSPA), 3GPP LTE, third generation partnershipproject 2 (3GPP2), ultra mobile broadband (UMB), LTE-A, etc. that can beassociated with radio network 1090, macro network platform 1010 can beembodied in a core network. It is noted that radio network 1090 caninclude base station(s), base transceiver station(s), access point(s),etc. and associated electronic circuitry and deployment site(s), inaddition to a wireless radio link operated in accordance with the basestation(s), etc. Accordingly, radio network 1090 can comprise variouscoverage cells, or wireless coverage areas. In addition, it should beappreciated that elements and/or components of IoT service engine 110can be located/included within one or more components/elements, e.g.,hardware, software, etc., of wireless communication environment 1000,e.g., macro network platform 1010, radio network 1090, etc.

Generally, macro network platform 1010 includes components, e.g., nodes,GWs, interfaces, servers, platforms, etc. that facilitate bothpacket-switched (PS), e.g., IP, frame relay, asynchronous transfer mode(ATM), and circuit-switched (CS) traffic, e.g., voice and data, andcontrol generation for networked wireless communication, e.g., via IoTservice engine 110. In various embodiments, macro network platform 1010includes CS gateway (GW) node(s) 1012 that can interface CS trafficreceived from legacy networks like telephony network(s) 1040, e.g.,public switched telephone network (PSTN), public land mobile network(PLMN), Signaling System No. 7 (SS7) network 1060, etc. CS GW node(s)1012 can authorize and authenticate traffic, e.g., voice, arising fromsuch networks. Additionally, CS GW node(s) 1012 can access mobility orroaming data generated through SS7 network 1060; for instance, mobilitydata stored in a visitor location register (VLR), which can reside inmemory 1030. Moreover, CS GW node(s) 1012 interfaces CS-based trafficand signaling with PS GW node(s) 1018. As an example, in a 3GPP UMTSnetwork, PS GW node(s) 1018 can be embodied in GW general packet radioservice (GPRS) support node(s) (GGSN).

As illustrated by FIG. 10, PS GW node(s) 1018 can receive and processCS-switched traffic and signaling via CS GW node(s) 1012. Further PS GWnode(s) 1018 can authorize and authenticate PS-based data sessions,e.g., via radio network 1090, with served devices, communicationdevices, etc. Such data sessions can include traffic exchange withnetworks external to the macro network platform 1010, like wide areanetwork(s) (WANs) 1050; enterprise networks (NWs) 1070, e.g., E911,service NW(s) 1080, e.g., an IP multimedia subsystem (IMS), etc. Itshould be appreciated that local area network(s) (LANs), which may be apart of enterprise NW(s) 1070, can also be interfaced with macro networkplatform 1010 through PS GW node(s) 1018. PS GW node(s) 1018 cangenerate packet data contexts when a data session is established, e.g.,associated with an EPS bearer context activation. To that end, in anaspect, PS GW node(s) 1018 can include a tunnel interface, e.g., tunneltermination GW (TTG) in 3GPP UMTS network(s) (not shown), which canfacilitate packetized communication with disparate wireless network(s),such as Wi-Fi networks. It should be further appreciated that thepacketized communication can include multiple flows that can begenerated through server(s) 1014. It is to be noted that in 3GPP UMTSnetwork(s), PS GW node(s) 1018 (e.g., GGSN) and tunnel interface (e.g.,TTG) comprise a packet data GW (PDG).

Macro network platform 1010 also includes serving node(s) 1016 that canconvey the various packetized flows of information, or data streams,received through PS GW node(s) 1018. As an example, in a 3GPP UMTSnetwork, serving node(s) can be embodied in serving GPRS support node(s)(SGSN).

As indicated above, server(s) 1014 in macro network platform 1010 canexecute numerous applications, e.g., messaging, location services,wireless device management, etc. that can generate multiple disparatepacketized data streams or flows; and can manage such flows, e.g.,schedule, queue, format. Such application(s), for example can includeadd-on features to standard services provided by macro network platform1010. Data streams can be conveyed to PS GW node(s) 1018 forauthorization/authentication and initiation of a data session, and toserving node(s) 1016 for communication thereafter. Server(s) 1014 canalso affect security, e.g., implement one or more firewalls, of macronetwork platform 1010 to ensure network's operation and data integrityin addition to authorization and authentication procedures that CS GWnode(s) 1012 and PS GW node(s) 1018 can enact. Moreover, server(s) 1014can provision services from external network(s), e.g., WAN 1050, orglobal positioning system (GPS) network(s), which can be a part ofenterprise NW(s) 1080. It is to be noted that server(s) 1014 can includeone or more processors configured to confer at least in part thefunctionality of macro network platform 1010. To that end, the one ormore processors can execute code instructions stored in memory 1030, forexample.

In wireless communication environment 1000, memory 1030 can storeinformation related to operation of macro network platform 1010, e.g.,related to operation of IoT service engine 110, disparate sets ofdistributed IoT devices 120, application servers 130, etc. Theinformation can include business data associated with subscribers;market plans and strategies, e.g., promotional campaigns, businesspartnerships, mobile devices served through macro network platform,etc.; service and privacy information, policies, etc.; end-user servicelogs for law enforcement; term(s) and/or condition(s) associated withwireless service(s) provided via radio network 1090; and so forth.Memory 1030 can also store information from at least one of telephonynetwork(s) 1040, WAN 1050, SS7 network 1060, enterprise NW(s) 1070, orservice NW(s) 1080.

In one or more embodiments, components of core network environment 1000can provide communication services, e.g., via IoT service engine 110, toUE 1002, disparate sets of distributed IoT devices 120, and applicationservers 130 via radio network 1090 utilizing an over-the-air wirelesslink, e.g., 1002, 1006, etc. In this regard, radio network 1090 caninclude one or more: macro, Femto, or pico access points (APs) (notshown); base stations (BS) (not shown); landline networks (e.g., opticallandline networks, electrical landline networks) (not shown)communicatively coupled between UE 1002, disparate sets of distributedIoT devices 120, and application servers 130 and macro network platform1010. Further, over-the-air wireless link 1015 can comprise a downlink(DL) and an uplink (UL) (both not shown) that can utilize apredetermined band of radio frequency (RF) spectrum associated with anynumber of various types of wireless technologies including, but notlimited to, cellular, LTE, LTE-A, GSM, 3GPP UMTS, Wi-Fi, WiMax, wirelesslocal area networks (WLAN), Femto, etc.

Core network environment 1000 can include one or more of the Internet(or another communication network (e.g., IP-based network)), or adigital subscriber line (DSL)-type or broadband network facilitated byEthernet or other technology. In various embodiments, core networkenvironment 1000 can include hardware and/or software for allocatingresources to UE 1002, disparate sets of distributed IoT devices 120, andapplication servers 130, converting or enforcing protocols, establishingand/or providing levels of quality of service (QoS), providingapplications or services, translating signals, and/or performing otherdesired functions to facilitate system interoperability andcommunication to/from UE 1002, disparate sets of distributed IoT devices120, and application servers 130.

In other embodiment(s), core network environment 1000 can include datastore component(s), a memory configured to store information,computer-readable storage media storing computer-executableinstructions, e.g., memory 1030, etc. enabling various operationsperformed via IoT service engine 110 as described herein. In thisregard, core network environment 1000 can include data storecomponent(s) associated with policy component 112, for storing policydata, condition(s), action(s), etc. representing policy rules fortriggering, initiating, etc. respective actions by IoT service engine110 as described herein.

As it employed in the subject specification, the term “processor” canrefer to substantially any computing processing unit or devicecomprising, but not limited to comprising, single-core processors;single-processors with software multithread execution capability;multi-core processors; multi-core processors with software multithreadexecution capability; multi-core processors with hardware multithreadtechnology; parallel platforms; and parallel platforms with distributedshared memory. Additionally, a processor can refer to an integratedcircuit, an application specific integrated circuit (ASIC), a digitalsignal processor (DSP), a field programmable gate array (FPGA), aprogrammable logic controller (PLC), a complex programmable logic device(CPLD), a discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsand/or processes described herein. Processors can exploit nano-scalearchitectures such as, but not limited to, molecular and quantum-dotbased transistors, switches and gates, in order to optimize space usageor enhance performance of mobile devices. A processor may also beimplemented as a combination of computing processing units.

In the subject specification, terms such as “store,” “data store,” “datastorage,” “database,” “memory storage,” and substantially any otherinformation storage component relevant to operation and functionality ofa component and/or process, refer to “memory components,” or entitiesembodied in a “memory,” or components comprising the memory. It will beappreciated that the memory components described herein can be eithervolatile memory or nonvolatile memory, or can include both volatile andnonvolatile memory.

By way of illustration, and not limitation, nonvolatile memory, forexample, can be included in non-volatile memory 1122 (see below), diskstorage 1124 (see below), and/or memory storage 1146 (see below).Further, nonvolatile memory can be included in read only memory (ROM),programmable ROM (PROM), electrically programmable ROM (EPROM),electrically erasable ROM (EEPROM), or flash memory. Volatile memory1120 can include random access memory (RAM), which acts as externalcache memory. By way of illustration and not limitation, RAM isavailable in many forms such as synchronous RAM (SRAM), dynamic RAM(DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM),enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM(DRRAM). Additionally, the disclosed memory components of systems ormethods herein are intended to comprise, without being limited tocomprising, these and any other suitable types of memory.

In order to provide a context for the various aspects of the disclosedsubject matter, FIG. 11, and the following discussion, are intended toprovide a brief, general description of a suitable environment in whichthe various aspects of the disclosed subject matter can be implemented.While the subject matter has been described above in the general contextof computer-executable instructions of a computer program that runs on acomputer and/or computers, those skilled in the art will recognize thatvarious embodiments disclosed herein can be implemented in combinationwith other program modules. Generally, program modules include routines,programs, components, data structures, etc. that perform particulartasks and/or implement particular abstract data types.

Moreover, those skilled in the art will appreciate that the varioussystems can be practiced with other computer system configurations,including single-processor or multiprocessor computer systems, computingdevices, mini-computing devices, mainframe computers, as well aspersonal computers, hand-held computing devices (e.g., PDA, phone,watch), microprocessor-based or programmable consumer or industrialelectronics, and the like. The illustrated aspects can also be practicedin distributed computing environments where tasks are performed byremote processing devices that are linked through a communicationnetwork; however, some if not all aspects of the subject disclosure canbe practiced on stand-alone computers. In a distributed computingenvironment, program modules can be located in both local and remotememory storage devices.

With reference to FIG. 11, a block diagram of a computing system 1100operable to execute the disclosed systems and methods is illustrated, inaccordance with an embodiment. Computer 1112 includes a processing unit1114, a system memory 1116, and a system bus 1118. System bus 1118couples system components including, but not limited to, system memory1116 to processing unit 1114. Processing unit 1114 can be any of variousavailable processors. Dual microprocessors and other multiprocessorarchitectures also can be employed as processing unit 1114.

System bus 1118 can be any of several types of bus structure(s)including a memory bus or a memory controller, a peripheral bus or anexternal bus, and/or a local bus using any variety of available busarchitectures including, but not limited to, industrial standardarchitecture (ISA), micro-channel architecture (MSA), extended ISA(EISA), intelligent drive electronics (IDE), VESA local bus (VLB),peripheral component interconnect (PCI), card bus, universal serial bus(USB), advanced graphics port (AGP), personal computer memory cardinternational association bus (PCMCIA), Firewire (IEEE 1394), smallcomputer systems interface (SCSI), and/or controller area network (CAN)bus used in vehicles.

System memory 1116 includes volatile memory 1120 and nonvolatile memory1122. A basic input/output system (BIOS), containing routines totransfer information between elements within computer 1112, such asduring start-up, can be stored in nonvolatile memory 1122. By way ofillustration, and not limitation, nonvolatile memory 1122 can includeROM, PROM, EPROM, EEPROM, or flash memory. Volatile memory 1120 includesRAM, which acts as external cache memory. By way of illustration and notlimitation, RAM is available in many forms such as SRAM, dynamic RAM(DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM),enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), Rambus direct RAM(RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM(RDRAM).

Computer 1112 also includes removable/non-removable,volatile/non-volatile computer storage media. FIG. 11 illustrates, forexample, disk storage 1124. Disk storage 1124 includes, but is notlimited to, devices like a magnetic disk drive, floppy disk drive, tapedrive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memorystick. In addition, disk storage 1124 can include storage mediaseparately or in combination with other storage media including, but notlimited to, an optical disk drive such as a compact disk ROM device(CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RWDrive) or a digital versatile disk ROM drive (DVD-ROM). To facilitateconnection of the disk storage devices 1124 to system bus 1118, aremovable or non-removable interface is typically used, such asinterface 1126.

It is to be appreciated that FIG. 11 describes software that acts as anintermediary between users and computer resources described in suitableoperating environment 1100. Such software includes an operating system1128. Operating system 1128, which can be stored on disk storage 1124,acts to control and allocate resources of computer system 1112. Systemapplications 1130 take advantage of the management of resources byoperating system 1128 through program modules 1132 and program data 1134stored either in system memory 1116 or on disk storage 1124. It is to beappreciated that the disclosed subject matter can be implemented withvarious operating systems or combinations of operating systems.

A user can enter commands or information into computer 1112 throughinput device(s) 1136. Input devices 1136 include, but are not limitedto, a pointing device such as a mouse, trackball, stylus, touch pad,keyboard, microphone, joystick, game pad, satellite dish, scanner, TVtuner card, digital camera, digital video camera, web camera, cellularphone, user equipment, smartphone, and the like. These and other inputdevices connect to processing unit 1114 through system bus 1118 viainterface port(s) 1138. Interface port(s) 1138 include, for example, aserial port, a parallel port, a game port, a universal serial bus (USB),a wireless based port, e.g., WiFi, Bluetooth, etc. Output device(s) 1140use some of the same type of ports as input device(s) 1136.

Thus, for example, a USB port can be used to provide input to computer1112 and to output information from computer 1112 to an output device1140. Output adapter 1142 is provided to illustrate that there are someoutput devices 1140, like display devices, light projection devices,monitors, speakers, and printers, among other output devices 1140, whichuse special adapters. Output adapters 1142 include, by way ofillustration and not limitation, video and sound devices, cards, etc.that provide means of connection between output device 1140 and systembus 1118. It should be noted that other devices and/or systems ofdevices provide both input and output capabilities such as remotecomputer(s) 1144.

Computer 1112 can operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer(s)1144. Remote computer(s) 1144 can be a personal computer, a server, arouter, a network PC, a workstation, a microprocessor based appliance, apeer device, or other common network node and the like, and typicallyincludes many or all of the elements described relative to computer1112.

For purposes of brevity, only a memory storage device 1146 isillustrated with remote computer(s) 1144. Remote computer(s) 1144 islogically connected to computer 1112 through a network interface 1148and then physically and/or wirelessly connected via communicationconnection 1150. Network interface 1148 encompasses wire and/or wirelesscommunication networks such as local-area networks (LAN) and wide-areanetworks (WAN). LAN technologies include fiber distributed datainterface (FDDI), copper distributed data interface (CDDI), Ethernet,token ring and the like. WAN technologies include, but are not limitedto, point-to-point links, circuit switching networks like integratedservices digital networks (e.g., ISDN) and variations thereon, packetswitching networks, and digital subscriber lines (DSL).

Communication connection(s) 1150 refer(s) to hardware/software employedto connect network interface 1148 to bus 1118. While communicationconnection 1150 is shown for illustrative clarity inside computer 1112,it can also be external to computer 1112. The hardware/software forconnection to network interface 1148 can include, for example, internaland external technologies such as modems, including regular telephonegrade modems, cable modems and DSL modems, wireless modems, ISDNadapters, and Ethernet cards.

The computer 1112 can operate in a networked environment using logicalconnections via wired and/or wireless communications to one or moreremote computers, cellular based devices, user equipment, smartphones,or other computing devices, such as workstations, server computers,routers, personal computers, portable computers, microprocessor-basedentertainment appliances, peer devices or other common network nodes,etc. The computer 1112 can connect to other devices/networks by way ofantenna, port, network interface adaptor, wireless access point, modem,and/or the like.

The computer 1112 is operable to communicate with any wireless devicesor entities operatively disposed in wireless communication, e.g., aprinter, scanner, desktop and/or portable computer, portable dataassistant, communications satellite, user equipment, cellular basedevice, smartphone, any piece of equipment or location associated with awirelessly detectable tag (e.g., scanner, a kiosk, news stand,restroom), and telephone. This includes at least WiFi and Bluetoothwireless technologies. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices.

WiFi allows connection to the Internet from a desired location (e.g., avehicle, couch at home, a bed in a hotel room, or a conference room atwork, etc.) without wires. WiFi is a wireless technology similar to thatused in a cell phone that enables such devices, e.g., mobile phones,computers, etc., to send and receive data indoors and out, anywherewithin the range of a base station. WiFi networks use radio technologiescalled IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, fastwireless connectivity. A WiFi network can be used to connect devices(e.g., mobile phones, computers, etc.) to each other, to the Internet,and to wired networks (which use IEEE 802.3 or Ethernet). WiFi networksoperate in the unlicensed 2.4 and 5 GHz radio bands, at an 11 Mbps(802.11a) or 54 Mbps (802.11b) data rate, for example, or with productsthat contain both bands (dual band), so the networks can providereal-world performance similar to the basic 10BaseT wired Ethernetnetworks used in many offices.

As utilized herein, terms “component,” “system,” “server,” “interface,”and the like are intended to refer to a computer-related entity,hardware, software (e.g., in execution), and/or firmware. For example, acomponent can be a processor, a process running on a processor, anobject, an executable, a program, a storage device, and/or a computer.By way of illustration, an application running on a server and theserver can be a component. One or more components can reside within aprocess, and a component can be localized on one computer and/ordistributed between two or more computers.

Aspects of systems, apparatus, and processes explained herein canconstitute machine-executable instructions embodied within a machine,e.g., embodied in a computer readable medium (or media) associated withthe machine. Such instructions, when executed by the machine, can causethe machine to perform the operations described. Additionally, systems,processes, process blocks, etc. can be embodied within hardware, such asan application specific integrated circuit (ASIC) or the like. Moreover,the order in which some or all of the process blocks appear in eachprocess should not be deemed limiting. Rather, it should be understoodby a person of ordinary skill in the art having the benefit of theinstant disclosure that some of the process blocks can be executed in avariety of orders not illustrated.

Further, components can execute from various computer readable mediahaving various data structures stored thereon. The components cancommunicate via local and/or remote processes such as in accordance witha signal having one or more data packets (e.g., data from one componentinteracting with another component in a local system, distributedsystem, and/or across a network, e.g., the Internet, with other systemsvia the signal).

As another example, a component can be an apparatus with specificfunctionality provided by mechanical parts operated by electric orelectronic circuitry; the electric or electronic circuitry can beoperated by a software application or a firmware application executed byone or more processors; the one or more processors can be internal orexternal to the apparatus and can execute at least a part of thesoftware or firmware application. As yet another example, a componentcan be an apparatus that provides specific functionality throughelectronic components without mechanical parts; the electroniccomponents can include one or more processors therein to executesoftware and/or firmware that confer(s), at least in part, thefunctionality of the electronic components.

Further, aspects, features, and/or advantages of the disclosed subjectmatter can be exploited in substantially any wireless telecommunicationor radio technology, e.g., IEEE 802.XX technology, e.g., Wi-Fi,Bluetooth, etc; WiMAX; enhanced GPRS; 3GPP LTE; 3GPP2; UMB; 3GPP UMTS;HSPA; high speed downlink packet access (HSDPA); high speed uplinkpacket access (HSUPA); LTE-A, GSM, NFC, Wibree, Zigbee, satellite, Wi-FiDirect, etc.

Further, selections of a radio technology, or radio access technology,can include second generation (2G), third generation (3G), fourthgeneration (4G), fifth generation (5G), x^(th) generation, etc.evolution of the radio access technology; however, such selections arenot intended as a limitation of the disclosed subject matter and relatedaspects thereof. Further, aspects, features, and/or advantages of thedisclosed subject matter can be exploited in disparate electromagneticfrequency bands. Moreover, one or more embodiments described herein canbe executed in one or more network elements, such as a mobile wirelessdevice, e.g., UE, and/or within one or more elements of a networkinfrastructure, e.g., radio network controller, wireless access point(AP), etc.

Moreover, terms like “user equipment,” (UE) “mobile station,” “mobilesubscriber station,” “access terminal,” “terminal”, “handset,”“appliance,” “machine,” “wireless communication device,” “cellularphone,” “personal digital assistant,” “smartphone,” “wireless device”,and similar terminology refer to a wireless device, or wirelesscommunication device, which is at least one of (1) utilized by asubscriber of a wireless service, or communication service, to receiveand/or convey data associated with voice, video, sound, and/orsubstantially any data-stream or signaling-stream; or (2) utilized by asubscriber of a voice over IP (VoIP) service that delivers voicecommunications over IP networks such as the Internet or otherpacket-switched networks. Further, the foregoing terms are utilizedinterchangeably in the subject specification and related drawings.

A communication network, e.g., corresponding to a network aware datadriven IoT communication environment (see e.g., 100, 200, etc.), forsystems, methods, and/or apparatus disclosed herein can include anysuitable mobile and/or wireline-based circuit-switched communicationnetwork including a GSM network, a time division multiple access (TDMA)network, a code division multiple access (CDMA) network, such as anInterim Standard 95 (IS-95) and subsequent iterations of CDMAtechnology, an integrated digital enhanced network (iDEN) network and aPSTN. Further, examples of the communication network can include anysuitable data packet-switched or combination datapacket/circuit-switched communication network, wired or wireless IPnetwork such as a VoLTE network, a VoIP network, an IP data network, aUMTS network, a GPRS network, or other communication networks thatprovide streaming data communication over IP and/or integrated voice anddata communication over combination data packet/circuit-switchedtechnologies.

Similarly, one of ordinary skill in the art will appreciate that awireless system e.g., a wireless communication device, UE 1002, etc. forsystems, methods, and/or apparatus disclosed herein can include a mobiledevice, a mobile phone, a 4G, a 5G, etc. cellular communication device,a PSTN phone, a cellular communication device, a cellular phone, asatellite communication device, a satellite phone, a VoIP phone, WiFiphone, a dual-mode cellular/WiFi phone, a combinationcellular/VoIP/WiFi/WiMAX phone, a portable computer, or any suitablecombination thereof. Specific examples of a wireless system can include,but are not limited to, a cellular device, such as a GSM, TDMA, CDMA, anIS-95 and/or iDEN phone, a cellular/WiFi device, such as a dual-modeGSM, TDMA, IS-95 and/or iDEN/VoIP phones, UMTS phones, UMTS VoIP phones,or like devices or combinations thereof.

The disclosed subject matter can be implemented as a method, apparatus,or article of manufacture using standard programming and/or engineeringtechniques to produce software, firmware, hardware, or any combinationthereof to control a computer to implement the disclosed subject matter.The term “article of manufacture” as used herein is intended toencompass a computer program accessible from any computer-readabledevice, computer-readable carrier, or computer-readable media. Forexample, computer-readable media can include, but are not limited to,magnetic storage devices, e.g., hard disk; floppy disk; magneticstrip(s); optical disk (e.g., compact disk (CD), digital video disc(DVD), Blu-ray Disc (BD)); smart card(s); and flash memory device(s)(e.g., card, stick, key drive); and/or a virtual device that emulates astorage device and/or any of the above computer-readable media.

In accordance with various aspects of the subject specification,artificial intelligence based systems, components, etc. can employclassifier(s) that are explicitly trained, e.g., via a generic trainingdata, via policy rules of a policy framework, etc. as well as implicitlytrained, e.g., via observing characteristics of communication equipment,e.g., a gateway, a wireless communication device, etc., by receivingreports from such communication equipment, by receiving operatorpreferences, by receiving historical information, by receiving extrinsicinformation, etc.

For example, support vector machines can be configured via a learning ortraining phase within a classifier constructor and feature selectionmodule. Thus, the classifier(s) can be used by an artificialintelligence system to automatically learn and perform a number offunctions, e.g., performed by IoT service engine 110, including but notlimited to determining that a behavior of an IoT device, sensor, etc.satisfies a defined condition specified by a policy rule; generatingoperational information representing a behavior of an IoT device,sensor, etc. corresponding to a successful execution of a service,determining, based on the operational information, an expected, average,etc. behavior of the IoT device, sensor, etc.; and determining whetherthe IoT device, sensor, etc. operates outside of the expected, average,etc. behavior, e.g., outside of a permitted range of the expected,average, etc. behavior.

A classifier can be a function that maps an input attribute vector,x=(x1, x2, x3, x4, xn), to a confidence that the input belongs to aclass, that is, f(x)=confidence (class). Such classification can employa probabilistic and/or statistical-based analysis (e.g., factoring intothe analysis utilities and costs) to infer an action that a user desiresto be automatically performed. In the case of communication systems, forexample, attributes can be information received from access points,services, components of a wireless communication network, etc., and theclasses can be categories or areas of interest (e.g., levels ofpriorities). A support vector machine is an example of a classifier thatcan be employed. The support vector machine operates by finding ahypersurface in the space of possible inputs, which the hypersurfaceattempts to split the triggering criteria from the non-triggeringevents. Intuitively, this makes the classification correct for testingdata that is near, but not identical to training data. Other directedand undirected model classification approaches include, e.g., naïveBayes, Bayesian networks, decision trees, neural networks, fuzzy logicmodels, and probabilistic classification models providing differentpatterns of independence can be employed. Classification as used hereincan also be inclusive of statistical regression that is utilized todevelop models of priority.

As used herein, the term “infer” or “inference” refers generally to theprocess of reasoning about, or inferring states of, the system,environment, user, and/or intent from a set of observations as capturedvia events and/or data. Captured data and events can include user data,device data, environment data, data from sensors, sensor data,application data, implicit data, explicit data, etc. Inference can beemployed to identify a specific context or action, or can generate aprobability distribution over states of interest based on aconsideration of data and events, for example.

Inference can also refer to techniques employed for composinghigher-level events from a set of events and/or data. Such inferenceresults in the construction of new events or actions from a set ofobserved events and/or stored event data, whether the events arecorrelated in close temporal proximity, and whether the events and datacome from one or several event and data sources. Various classificationschemes and/or systems (e.g., support vector machines, neural networks,expert systems, Bayesian belief networks, fuzzy logic, and data fusionengines) can be employed in connection with performing automatic and/orinferred action in connection with the disclosed subject matter.

Further, the word “exemplary” and/or “demonstrative” is used herein tomean serving as an example, instance, or illustration. For the avoidanceof doubt, the subject matter disclosed herein is not limited by suchexamples. In addition, any aspect or design described herein as“exemplary” and/or “demonstrative” is not necessarily to be construed aspreferred or advantageous over other aspects or designs, nor is it meantto preclude equivalent exemplary structures and techniques known tothose of ordinary skill in the art having the benefit of the instantdisclosure.

Furthermore, to the extent that the terms “includes,” “has,” “contains,”and other similar words are used in either the detailed description orthe appended claims, such terms are intended to be inclusive - in amanner similar to the term “comprising” as an open transition word -without precluding any additional or other elements. Moreover, the term“or” is intended to mean an inclusive “or” rather than an exclusive“or”. That is, unless specified otherwise, or clear from context, “Xemploys A or B” is intended to mean any of the natural inclusivepermutations. That is, if X employs A; X employs B; or X employs both Aand B, then “X employs A or B” is satisfied under any of the foregoinginstances. In addition, the articles “a” and “an” as used in thisapplication and the appended claims should generally be construed tomean “one or more” unless specified otherwise or clear from context tobe directed to a singular form.

The above description of illustrated embodiments of the subjectdisclosure, including what is described in the Abstract, is not intendedto be exhaustive or to limit the disclosed embodiments to the preciseforms disclosed. While specific embodiments and examples are describedherein for illustrative purposes, various modifications are possiblethat are considered within the scope of such embodiments and examples,as those skilled in the relevant art can recognize.

In this regard, while the disclosed subject matter has been described inconnection with various embodiments and corresponding Figures, whereapplicable, it is to be understood that other similar embodiments can beused or modifications and additions can be made to the describedembodiments for performing the same, similar, alternative, or substitutefunction of the disclosed subject matter without deviating therefrom.Therefore, the disclosed subject matter should not be limited to anysingle embodiment described herein, but rather should be construed inbreadth and scope in accordance with the appended claims below.

What is claimed is:
 1. A method, comprising: determining, by a systemcomprising a processor, a behavior of a sensor of a group of sensorsthat have been configured to send, utilizing Internet protocol basedcommunications, information to respective network equipment of thesystem, wherein the sensor has been configured to facilitate aperformance of a service corresponding to a network device of therespective network equipment; and in response to the behavior beingdetermined to satisfy a defined condition that is defined by a policyrule that has been received from the network device, performing, by thesystem, an action, wherein the policy rule defines that the action beperformed by the system upon a determination that the defined conditionhas been satisfied.
 2. The method of claim 1, further comprising:determining, by the system, a defined behavior of the sensorrepresenting an average operating condition of the sensor with respectto the service, and wherein the defined condition represents that thebehavior is different from the average operating condition.
 3. Themethod of claim 2, further comprising: determining, by system, that thesensor is operating outside of a defined range of the average operatingcondition.
 4. The method of claim 2, wherein the average operatingcondition comprises a determined average period of time between datatransmissions of the sensor.
 5. The method of claim 2, wherein theaverage operating condition comprises a determined average frequency ofdata transmissions of the sensor that have been received by the system.6. The method of claim 2, wherein the average operating conditioncomprises a determined average amount of data to be included in a datatransmission of the sensor.
 7. The method of claim 1, wherein performingthe action comprises: initiating a change in operation of the sensor. 8.The method of claim 1, wherein performing the action comprises: sendinga notification message directed to the network device representing thatthe behavior of the sensor has been determined to satisfy the definedcondition.
 9. The method of claim 1, wherein the defined conditionrepresents that the sensor has transmitted or received a communicatedamount of data that is outside of a defined range of an amount of datato be communicated via the sensor, and wherein the action comprises:sending, by the system, a control message to the sensor to facilitatedisabling the sensor.
 10. A system, comprising: a processor; and amemory that stores executable instructions that, when executed by theprocessor, facilitate performance of operations, comprising: determininga behavior of an Internet of things device that has been configured tosend, via an Internet protocol based communication, information tonetwork equipment of the system, wherein the Internet of things devicehas been configured to facilitate a performance of a servicecorresponding to the network equipment; and in response to the behaviorbeing determined to satisfy a defined condition that has been defined bya policy rule that has been received from the network equipment and thatdefines an action to be performed by the system upon a determinationthat the defined condition has been satisfied, performing, by thesystem, the action.
 11. The system of claim 10, wherein thedetermination is a first determination, and wherein the operationsfurther comprise: determining a defined behavior of the Internet ofthings device representing an average operating condition of theInternet of things device with respect to the service, and wherein thedefined condition represents a second determination that the definedbehavior is different from the average operating condition of theInternet of things device.
 12. The system of claim 11, wherein thesecond determination comprises: determining, by the system, that theInternet of things device is operating outside of a defined range of theaverage operating condition.
 13. The system of claim 11, wherein theaverage operating condition comprises a defined period of time betweendata transmissions of the Internet of things device.
 14. The system ofclaim 11, wherein the average operating condition comprises a definedfrequency of data transmissions of the Internet of things device. 15.The system of claim 11, wherein the average operating conditioncomprises a defined amount of data to be included in a data transmissionof the Internet of things device.
 16. The system of claim 10, whereinthe operations further comprise: in response to determining, based onthe policy rule, that a frequency of data transmissions of the Internetof things device is greater than a defined maximum frequency of datatransmissions of the of the Internet of things device, sending anotification message directed to the network equipment indicating thatthe behavior of the of the Internet of things device has deviated from adefault behavior of the of the Internet of things device with respect tothe service.
 17. The system of claim 16, wherein determining that thefrequency of data transmissions of the Internet of things device isgreater than the defined maximum frequency of data transmissions of theInternet of things device further comprises: sending a control messageto the Internet of things device to facilitate disabling the Internet ofthings device.
 18. A non-transitory machine-readable medium, comprisingexecutable instructions that, when executed by a processor, facilitateperformance of operations, comprising: based on a policy rulerepresenting a defined condition of a behavior of a sensor andrepresenting a defined action to be performed according to the definedcondition, monitoring an operation of the sensor, wherein the sensor hasbeen configured to transmit, utilizing an Internet protocol, informationof a service to network equipment; and in response to determining thatthe operation of the sensor satisfies the defined condition, performingthe defined action.
 19. The non-transitory machine-readable medium ofclaim 18, wherein the defined condition defines a specified transmissionamount of data that the sensor has been configured to transmit during atransmission, and wherein determining that the operation of the sensorsatisfies the defined condition comprises: in response to determiningthat the sensor has transmitted, during the transmission, an amount ofdata that is greater than the specified transmission amount, disablingthe sensor.
 20. The non-transitory machine-readable medium of claim 18,wherein the defined condition defines a specified frequency of datatransmissions of the sensor, and wherein determining that the operationof the sensor satisfies the defined condition comprises: in response todetermining that the sensor has transmitted data at a frequency that isgreater than the specified frequency of data transmissions, sending amessage directed to the network equipment representing that the sensorhas transmitted data at the frequency that is greater than the specifiedfrequency.